home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
basic
/
pbtool.exe
/
PBVIEWER.BAS
< prev
next >
Wrap
BASIC Source File
|
1991-10-31
|
3KB
|
108 lines
' PROGRAM: PBVIEWER.BAS ANDY KELLETT 10/16/90
' THIS PROGRAM ALLOWS VIEWING OF A SPECIFIED FILE AND THE CONTENTS.
'
'
' USING POWER BASIC V2.00
' LAST UPDATED: 10/31/91
'--------------------------------------------------------------------
$INCLUDE "KEYS.INC"
PAGELEN% = 18
VERSION$ = "0.95"
CLS
LOCATE 1,14:PRINT "P B V I E W E R V";VERSION$;" BY A N D Y K."
LOCATE 12,10:INPUT "ENTER THE FILE NAME TO VIEW: ";FILENAME$
IF FILENAME$ = "" THEN CLS:END
OPEN FILENAME$ FOR BINARY AS #1
FILE1EOF& = LOF(1)
IF LOF(1) < 1 THEN
LOCATE 15,10:PRINT "ERROR OPENING FILE! STARTING OVER!"
CLOSE #1
KILL FILENAME$
DELAY 3.5
RUN
END IF
CLS
LOCATE 1,10:PRINT "P B V I E W E R V";VERSION$;" BY A N D Y K.";:_
PRINT " FILE IS ";FILENAME$
LOCATE 2,1:PRINT " BYTE# DEC HEX ASCII ";:
QUITFLAG% = 0:RECPOSITION& = 0
WHILE QUITFLAG% = 0
SEEK 1, RECPOSITION&
GET$ 1, PAGELEN%, CHAR$
LOCATE 2,27:PRINT USING "CURRENT POSITION: #,###,###";RECPOSITION&
FOR I% = 1 TO PAGELEN%
TEMP$ = MID$(CHAR$,I%,1)
LOCATE I% + 3,1
PRINT USING " ## ### \\ \\";I% - 1,ASC(TEMP$),_
HEX$(ASC(TEMP$)),TEMP$
NEXT I%
LOCATE 23,5:PRINT_
"F = Forward A = bAckward T = Top B = Bottom N = Newfile Q = Quit";
LOCATE 24,5:PRINT "or ";CHR$(25);" or ";CHR$(24);
LOCATE 24,34:PRINT "PGDN forward 2 screens PGUP back two screens";
KEYFLAG% = 0
WHILE KEYFLAG% = 0
KY$ = INKEY$:KY$ = UCASE$(KY$)
IF KY$ = "F" OR KY$ = DOWNARROW$ THEN
KEYFLAG% = 1
IF RECPOSITION& = FILE1EOF& - PAGELEN% THEN
' DO NOTHING
ELSE
IF RECPOSITION& > FILE1EOF& - PAGELEN% THEN
RECPOSITION& = FILE1EOF& - PAGELEN%
ELSE
RECPOSITION& = RECPOSITION& + PAGELEN%
END IF
END IF
IF RECPOSITION& > FILE1EOF& THEN
RECPOSITION& = FILE1EOF& - PAGELEN%
END IF
END IF
IF KY$ = "A" OR KY$ = UPARROW$ THEN
KEYFLAG% = 1
RECPOSITION& = RECPOSITION& - PAGELEN%
IF RECPOSITION& < 0 THEN
RECPOSITION& = 0
END IF
END IF
IF KY$ = "Q" OR KY$ = ESC$ THEN
KEYFLAG% = 1
QUITFLAG% = 1
END IF
IF KY$ = "N" THEN
RUN
END IF
IF KY$ = "T" THEN
RECPOSITION& = 0
KEYFLAG% = 1
END IF
IF KY$ = "B" THEN
RECPOSITION& = FILE1EOF& - PAGELEN%
KEYFLAG% = 1
END IF
IF KY$ = PGUP$ AND RECPOSITION& > (2 * PAGELEN%) THEN
RECPOSITION& = RECPOSITION& - (2 * PAGELEN%)
KEYFLAG% = 1
ELSE
IF KY$ = PGUP$ THEN
RECPOSITION& = 0
KEYFLAG% = 1
END IF
END IF
IF KY$ = PGDOWN$ AND_
RECPOSITION& < (FILE1EOF& - (2 * PAGELEN%)) THEN
RECPOSITION& = RECPOSITION& + (2 * PAGELEN%)
KEYFLAG% = 1
ELSE
IF KY$ = PGDOWN$ THEN
RECPOSITION& = FILE1EOF& - PAGELEN%
KEYFLAG% = 1
END IF
END IF
WEND
WEND
CLOSE #1
LOCATE 25,1
END